1. Field of the Invention
Embodiments of the present invention relates generally to displaying data on a display device and more specifically to isochronous hub contracts.
2. Description of the Related Art
A conventional display system includes a display device, a capture unit, and a memory subsystem. The display device, as an output isochronous function, sends requests to the memory subsystem to retrieve the display data. Each of these requests normally pertains to only a small portion of data. To ensure the timing requirements of the display system are satisfied, the display device negotiates a priority scheme with the memory subsystem to handle the requests. Specifically, each of the requests is marked with a certain criticality level. So, if a request is for a real-time application and is thus marked as critical, the memory subsystem gives priority to serving such a request while placing other less-than-critical requests on hold.
However, this dependency between the display device and the memory subsystem leads to a number of undesirable effects. One, because each request is only for a small portion of data, many requests, with some being critical, need to be made every frame. Tracking whether all these requests meet the timing requirements of the display system becomes cumbersome and difficult. Further complicating the matter, due to factors such as the criticality of the requests or the depth of latency buffers that temporarily store the requested data, the timing requirements of the display system may change from one frame to another or even during a frame. Two, neither the display device nor the memory subsystem can be rigorously tested in a standalone fashion because of the dependency between them. Without the standalone stress testing, this conventional display system is less reliable, since the conditions leading to the rare but catastrophic failures are unlikely to be detected. Three, every convention display system is forced to be tested for timing requirements with or without design changes. To illustrate, in one scenario, suppose the design of the display system is unchanged, but the memory subsystem can change from chip-to-chip on account of different types and numbers of dynamic random access memories (DRAMs) implemented. Because of the dependency between the display device and the memory subsystem, the testing results for one display system are directly tied to the performance of its memory subsystem. Such test results cannot be reliably reused for another display system, since the memory subsystem there can be different. In another scenario, suppose a slight design change is introduced for the display device in one display system, but the memory subsystems in all display systems are identical. Here, the dependency unfortunately still requires the testing of the entire display system, because any prior testing results are still not portable to validating whether the design change affects the interactions with the memory subsystem.
As the foregoing illustrates, what is needed in the art is a method and system that decouples the display device and the memory subsystem.